home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / progjour / 1991 / 06 / vampire.asm < prev    next >
Assembly Source File  |  1991-07-28  |  1KB  |  47 lines

  1. ;***********************************************************************
  2. ;                  VAMPIRE.ASM                   *
  3. ;    VAMPIRE.COM is a demonstration program to provoke the midnight    *
  4. ; vampire.  (See text for test procedure).                   *
  5. ;         Written by M. L. Lesser, July 25, 1991               *
  6. ;     Assembled with TASM 2.5; linked with TLINK 4.0, switch "/t"      *
  7. ;***********************************************************************
  8.  
  9. CODE    SEGMENT PARA PUBLIC 'CODE'
  10.     ASSUME CS:CODE, DS:CODE
  11.  
  12.     ORG    100H
  13. VAMPIRE PROC NEAR
  14.     JMP SHORT START
  15.  
  16. STARTIME DW    2 DUP(?)
  17. MESSGE_1 DB    13,10,'Starting 100-tick count$'
  18. MESSGE_2 DB    13,10,'Ending 100-tick count$'
  19.  
  20. START:    MOV    AH,0
  21.     INT    1AH
  22.     MOV    STARTIME,DX    ;Save program starting count
  23.     MOV    STARTIME+2,CX
  24. ; Loop until 100 ticks have passed:
  25.     MOV    AH,9            ;Display startup message
  26.     MOV    DX,OFFSET MESSGE_1
  27.     INT    21H
  28. AGAIN:    MOV    AH,0
  29.     INT    1AH
  30.     MOV    AX,STARTIME
  31.     SUB    DX,AX
  32.     MOV    AX,STARTIME+2
  33.     SBB    CX,AX
  34.     JNS    OK            ;We haven't passed midnight
  35.     ADD    DX,0B0H            ;Else, increase current count by
  36.     ADC    CX,18H            ;  24 hours
  37. OK:    SUB    DX,100            ;Have we gone 100 ticks?
  38.     SBB    CX,0
  39.     JS    AGAIN            ;If not, go around again
  40.     MOV    AH,9
  41.     MOV    DX,OFFSET MESSGE_2
  42.     INT    21H
  43.     INT    20H
  44. VAMPIRE    ENDP
  45. CODE    ENDS
  46.     END    VAMPIRE
  47.